package com.jwsoft.manager.core.integration;

import com.bifang.assistant.common.vo.BaseVO;
import com.github.pagehelper.PageInfo;
import com.jwsoft.manager.common.vo.eduDataTask.*;
import com.jwsoft.manager.common.vo.eduDataTaskDetail.EduDataTaskDetailVO;

import java.util.List;

/**
 * 数据备份任务表业务本地接口
 *
 * @author zhiyuan
 * @since 2023-09-13
 */
public interface EduDataTaskIntegration {
    /** 分页查询 */
    PageInfo<EduDataTaskVO> getList(EduDataTaskQueryVO vo);
    /** 根据主键查询详情 */
    EduDataTaskVO getById(EduDataTaskKeyVO vo);
    /** 保存前统一校验*/
    void checkSave(EduDataTaskVO vo);
    /** 新增 */
    EduDataTaskVO add(EduDataTaskVO vo);
    /** 修改 */
    EduDataTaskVO edit(EduDataTaskVO vo);
    /** 根据主键删除 */
    void del(EduDataTaskKeyVO vo);

    /**
     * 数据备份表查询
     * @param vo
     */
    List<EduDataTableVO> queryDataTable(BaseVO vo);

    /**
     * 数据备份任务初始化
     * @param vo
     */
    void initDataTable(EduDataTaskInitVO vo);

    /**
     * 备份任务数据迁移
     * @param vo
     */
    void dataTaskMigration(EduOperationParamVO vo);

    /**
     * 备份任务数据加密
     * @param vo
     */
    void dataTaskEncrypt(EduOperationParamVO vo);

    /**
     * 备份任务数据核销
     * @param vo
     */
    void dataTaskClean(EduOperationParamVO vo);

    /**
     * 获取子任务
     * @param vo
     * @return
     */
    PageInfo<EduDataTaskDetailVO> getSubtaskList(EduDataTaskDetailVO vo);

}
